package planilha.model.vo;

import java.util.Calendar;

/**
 * entity
 * 
 * @author sombriks
 * 
 */
public class Movimento implements Cloneable{

	private String descricao;
	private double valor;
	private long dtVencimento;
	private Tipo tipo;
	private boolean quitado;

	public Movimento(String dsc, double val, long dtcd, Tipo tp) {
		descricao = dsc;
		valor = val;
		dtVencimento = dtcd;
		tipo = tp;
	}

	public Movimento() {

	}

	public String getDescricao() {
		return descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	public double getValor() {
		return valor;
	}

	public void setValor(double valor) {
		this.valor = valor;
	}

	public long getDtVencimento() {
		return dtVencimento;
	}

	public void setDtVencimento(long dtVencimento) {
		this.dtVencimento = dtVencimento;
	}

	public Tipo getTipo() {
		return tipo;
	}

	public void setTipo(Tipo tipo) {
		this.tipo = tipo;
	}

	public boolean isQuitado() {
		return quitado;
	}

	public void setQuitado(boolean quitado) {
		this.quitado = quitado;
	}

	/* ====================================================================== */
	
	public Movimento copiaMesSeguinte() throws Exception{
		Movimento m = (Movimento) this.clone();
		Calendar cal = Calendar.getInstance();
		cal.setTimeInMillis(m.dtVencimento);
		cal.set(Calendar.MONTH, cal.get(Calendar.MONTH)+1);
		m.quitado = false;
		m.dtVencimento=cal.getTimeInMillis();
		return m;
	}
}
